#include "../port/include/8080.h"

#include <stdio.h>
#include "driver/gpio.h"
#include "unistd.h"
#define u8 unsigned char

const u8 data_pins[8]={13,12,14,27,26,25,33,32};
const u8 mask_8bit[8]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};
#define RD 21
#define WR 19
#define DC 18



void write_byte_80(u8 data ,int len)
{
//	for(int i=0;i<len;i++)data_pins[len] data & mask_8bit[len]
//	printf("hello");
	gpio_set_level(RD,1);
	gpio_set_level(DC,1);
	usleep(20);
	gpio_set_level(WR,0);

	//while(len--)
	{
		gpio_set_level(14,1);
		gpio_set_level(33,1);
	}
	usleep(80);
	gpio_set_level(WR,1);
	gpio_set_level(DC,1);
	//gpio_set_level(RD,0);
	usleep(1000);
}
void pin_masks(const u8* pin_num ,int len,unsigned int* mask)
{
	while(len--)
	{
		*mask|= 1ULL<<(unsigned int)pin_num[len];
	}
}

void io_init_io()
{
	unsigned int mask8=0;
	gpio_config_t io_conf;
    io_conf.intr_type = GPIO_INTR_DISABLE;
    io_conf.mode = GPIO_MODE_OUTPUT;
//    pin_masks(data_pins,8,&mask8);
//    mask8|=1ULL<<DC;
//    mask8|=1ULL<<WR;
//    mask8|=1ULL<<RD;
//    printf("hello%x\n",mask8);//mask8
    io_conf.pin_bit_mask = 1ULL<<15;
    io_conf.pull_down_en = 1;
    io_conf.pull_up_en = 1;
    gpio_config(&io_conf);
    gpio_set_level(15,0);
//    //mask8|=1ULL<<33;
//    io_conf.intr_type = GPIO_INTR_DISABLE;
//    io_conf.mode = GPIO_MODE_OUTPUT;
//    //pin_masks(data_pins,8,&mask8);_OD
//
//    //printf("hello%x\n",mask8);
//    io_conf.pin_bit_mask = 1ULL<<33| 1ULL<<32;
//    io_conf.pull_down_en = 1;
//    io_conf.pull_up_en = 1;
//    gpio_config(&io_conf);

}


void func(void)
{

}
